// TicTacToe.h
#ifndef TICTACTOE_H
#define TICTACTOE_H

#include "main.h"
#include <vector>
#include <string>

class TicTacToe 
{
public:
    TicTacToe();                            // 构造函数
    void playGame(std::string username="", bool userLoginFlag=false);                        // 开始游戏
    void restartGame();                     // 重新开始游戏

private:
    void printBoard() const;                // 打印棋盘
    bool makeMove(int position);            // 玩家落子
    bool checkWin() const;                  // 检查胜利条件
    bool checkDraw() const;                 // 检查平局
    void switchPlayer();                    // 切换当前玩家
    bool isMoveValid(int position) const;   // 检查落子是否有效

    std::vector<char> board;                // 棋盘数据
    char currentPlayer;                     // 当前玩家(X或O)
    bool gameOver;                          // 游戏结束标志
};

#endif // TICTACTOE_H